home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 43
/
Amiga Format CD43 (1999)(Future Publishing)(GB)(Track 1 of 2)[!][issue 1999-09].iso
/
-serious-
/
comms
/
other
/
ambos-cgi
/
aws
/
readme-2.0b5
< prev
next >
Wrap
Text File
|
1999-06-14
|
4KB
|
85 lines
See the file README for changes from 1.0 betas prior to beta 05. This file
documents changes from beta04 to beta05.
First, and most noticably, the log file format has changed. There is
now ONE logfile, which is set by the "logfile" command in the server
config file. The default is "t:aws-NAME.log" (for aserve, it's
"t:aserve-NAME.log") where NAME is the Rexx name for the server.
The format is defined by an internet draft on "extensible log file
formats". Lines have two flavors: those starting with "#" are
meta-information about the log file: the software that produced it
(#Software); the start and end date (#Start-Date and #End-Date); the
version of the format (#Version), the list of fields in the data lines
(#Fields), remarks (#Remark) or date stamps (#Date). Most of them are
pretty obvious, except that Fields lists the list of fields, which
looks like:
#Fields: date time c-dns s-dns cs-method cs-URI sc-status sc-bytes cs(referer) cs(user-agent) cs(accept)
That's the date (year-mm-dd), time (local, no TZ - yeah!), client
hostname or IP, server hostname or ip and ':portnumber' (so you can
sort out requests from different servers if they are going to the same
log file), the method (GET, POST, HEAD); the URI on that server, the
status of the request, and the number of bytes sent back. These are
all space-delimited words. The remaining fields are double-quoted,
with double-quotes in the field being duplicated: "This field has a ""
in it". They are the contents of the HTTP referer header; the contents
of the HTTP User-Agent header, and the FIRST Accept header. The Accept
header is not technically correct, and will not be in the release
version (assuming it's in beta 5, which is not a given at this point).
BTW, THIS FORMAT IS SUBJECT TO CHANGE. It'll probably be minor:
","-seperated instead of space-seperated; dropping the ":" in
directives; some name changes in the #Fields directive. I have little
control over this, but am participating in that wg.
The other usage change is a new startup argument, "timeout" that lets
you set how long to delay before timing out a request. Be very
carefull with this, it can drastically effect memory usage on loaded
sites.
Oh yeah - minutesoff now matches the documentation, and is minutes
instead of hours!
The other important change is that redirects - all redirects, not just
CGI redirects - now match CGI usage: if the redirect starts with a
"/", it will be handled internally. If it doesn't, it will be assumed
to be a complete absolute URL, and will be handed to the client as is.
This means that if you were doing:
map /foo/ redirect /bar/
and /bar/ had relative links, you'll have to change it to:
map /foo/ redirect http://myhost/bar/
to tell the client about it.
On the other hand, if you are doing redirects that DO NOT point at
pages with relative links, you won't have to change anything, and the
user will get quicker service and you'll see lower server load.
Bundled along with this change, the CGI module now supports
PATH_TRANSLATED. The caveats discussed about it all apply: it isn't
reliable. In particular, if the file that PATH_TRANSLATED should refer
to doesn't exist, PATH_TRANSLATED will be set to the empty string.
On the AServe side, index can now contain a new facility: "Alias".
This allows you to send a DIFFERENT file than the one named, along
with a different content type. I'm already using this on the ngmap
pages, like so:
File: map.html
File: map.text
Alias: map.html
Content-type: text/plain
A reference to map.html will get the text/html file map.html. A
reference to map.text in that same directory will get the same file,
but with a content-type of text/plain. Yes, you can grab arbitrary
files from anywhere on your server to serve to people. This has
non-obvious security applications; be carefull with it!